Process and Apparatus for Selecting an Item from A Database

ABSTRACT

The present invention relates to a method and apparatus for selecting database items from a database, where the database items are indexed by a list of item identifiers. The item identifiers may be in the form of text. An initial display is generated which includes one or more parts of the item identifiers. Selection of the one or more parts may be made and results in the generation of a display of a further one or more parts for selection. The further one or more parts may be selected in order to add to the selected one or more parts to build a larger part or whole of an item identifier. Selection from a large list of item identifiers may be carried out in a relatively short time period.

FIELD OF THE INVENTION

The present invention relates to an improved process and apparatus forselecting an item from a database, and more particularly, but notexclusively, relates to a method and apparatus for rapidly selectingitems from a list of items identified by a text field.

BACKGROUND OF THE INVENTION

There are many applications on computing devices which require selectionfrom a list where the item identifier for the list is text based. Theseinclude selecting a contact from an address book, selecting a recordfrom a database, selecting a word from a dictionary, etc.

The user of such systems has to enter enough information to narrow asearch of the list down to a single entry to be selected. This usuallyentails entering several of the initial letters of the search termresulting in a smaller subset of the list, then scrolling through thesubset to manually point out the desired item.

This can be a cumbersome process requiring the user to be able to enterany letter in their language's alphabet as well as possibly numbers andother symbols. This is particularly onerous on small, hand held devicessuch as mobile phones, personal digital assistants (PDAs), remotecontrols, etc. On hand held devices with a keypad such as mobile phones(FIG. 1), the try of alphabetic characters as well as numerics andsymbols is achieved through a cumbersome system of multiply pressing the12 number keys (0 to 9 and “*” and “#”). This method has thedisadvantages of:

-   -   Being a complicated, unnatural system which needs to be learnt,    -   Requiring accurate presses of generally very small buttons        resulting in accidental pressing of adjacent buttons,    -   Requiring the user to be able to read and discern very small        labels on the buttons,    -   Requiring constant shift of gaze between buttons and screen to        track the input,    -   Only allowing the entry of one character at a time, not a group        of characters at a time.

Other handheld devices take input through a touch screen such as PDAs(FIG. 2). These allow text input through generally two methods: anon-screen keyboard and handwriting recognition.

The on-screen keyboard method involves presenting an image of a keyboardon the screen. The buttons on this on-screen keyboard are too small tobe selected using fingers so a stylus is required. This results in aslow, error prone selection of individual characters with thedisadvantages:

-   -   Access to numbers and additional symbols usually requiring at        least two presses as they require the keyboard to go into        another mode to allow access to them,    -   Small key images are hard to see for those with any impairment        of vision and hard to select for those with limited dexterity,    -   Characters are only entered one at a time.

Handwriting recognition systems have the disadvantage of a high errorrate in recognising characters unless either the system is trained withthe user's handwriting or the user learns a set of distinctive ways toinput letters that are amenable to the device's programming. This methodhas the disadvantages of:

-   -   Needing a stylus for input,    -   Being slow to enter each letter,    -   Requiring a constant cycle of entry, checking of accuracy of the        entry and correction of misinterpretation of entries,    -   Characters are only entered one at a time.

Even using a fully fledged keyboard to specify the characters to selectan object has disadvantages:

-   -   It is still necessary to enter one character at a time,    -   It is still necessary to enter enough characters to generate a        manageable subset list and then select from it, the alternative        would be to enter sufficient characters each time to uniquely        identify the entry which may require almost all of the entry to        be specified,    -   Except for adept touch typists there is still a need to        constantly move one's gaze between the keyboard and the screen.

There is need for an improved method of selecting items from a list.

SUMMARY OF THE INVENTION

In accordance with a first aspect, the present invention provides amethod of selecting database items from a database, the database itemsbeing indexed by a list of item identifiers, the method comprising thesteps of:

-   -   generating an initial display including one or more parts of        item identifiers for selection,    -   enabling selection of the one or more parts and in response to        selection of the one or more parts,    -   generating a display of a further one or more parts for        selection, and    -   enabling selection of the further one or more parts in order to        add to the selected one or more parts to build a larger part or        whole of an item identifier.

In one embodiment, the invention entails a method of selecting an itemfrom a list indexed by a text based field. Preferably, the inventionallows for selection from the list by presenting one or more wordsections, (the item identifier parts in this embodiment), containing oneor more characters, at a time in a list for the user to select from.

Preferably, the word sections presented are based on a knowledge of thetext indices in the list and the likelihood of the word sections to bethe ones the user wants to enter.

Preferably, where the list of expected word sections does not containthe desired entry the user is given an option to list “more” wordsections and is presented with a new list which indicates the next mostlikely set of word sections.

Preferably, when a word section is selected, a new list of word sectionsis presented to form a continuation of the text selection based on theword sections selected so far being the start of the desired selection

Preferably, once all the word sections have been selected, the item inthe list is identified and any associated action, such as presenting atelephone book contact's contact details, is carried out.

Preferably, the word sections are presented as labels on the screen tobe selected by various methods depending on the type of device.

Preferably, where the device is a PC, the word sections would beselected by mouse presses or mapping to keyboard keys.

Preferably, where the device has a touch screen such as PDA or TabletPC, the word sections would be selected by pointing at the labels witheither a finger or stylus.

Preferably, where the device has a small screen and a joystick such as amobile telephone or watch sized device, the word sections should beselectable from a menu which indicates which word section is selectedfor corresponding movements of the joystick.

Preferably, where the device has function keys with the ability toassociate an on-screen label with a button press the word sections wouldbe presented for selection as labels with corresponding function keys.

In accordance with a second aspect, the present invention provides amethod of selecting database items from a database, the database itemsbeing indexed by a list of item identifiers, comprising the steps ofenabling a display of one or more parts of item identifiers forselection, the item identifiers being generated on a display beingchosen for generation in accordance with predetermined criteria.

In accordance with a third aspect, the present invention provides anapparatus for selecting database items from a database, the databaseitems being indexed by a list of item identifiers, the apparatuscomprising a display, an input means, a generating means for generatingan initial display including one or more parts of item identifiers forselection, means for enabling selection via the input means of the oneor more parts, means responsive to selection of the one or more partsfor generating a display of a further one or more parts for selection,means enabling selection via the input means of the further one or Moreparts, and addition means to add the further one or more parts to theselected one or more parts to build a larger, or whole of an itemidentifier.

In accordance with a fourth aspect, the present invention provides anapparatus for selecting database items from a database, the databaseitems being indexed by a list of item identifiers, comprising a meansenabling a display of one or more parts of item identifiers forselection, the means selecting the item identifiers for display inaccordance with predetermined criteria.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of the present invention will become apparentfrom the following description of embodiments thereof, by way of exampleonly, with reference to the accompanying drawings, in which:

FIG. 1 is a representation of a traditional mobile telephone layout.

FIG. 2 is a representation of a touch screen input device.

FIG. 3 is a representation of a traditional address book at start ofselection process. Image shows first four entries hi address book withselection indicator over first one. There is no entry in searchrefinement

FIG. 4 is a representation of a selection from reduced list of contactsfrom an address book using a traditional selection process. Image showsuser has entered “lie” to refine the search to a manageable number ofentries and then used the cursor to move the highlight to specify“Jessie Lares”

FIG. 5 is a representation of an opening joystick based selection menuusing the present invention.

FIG. 6 is a representation name partially specified using the presentinvention.

FIG. 7 is a representation of an example table of words.

FIG. 8 is a representation of an example structure of tree for words inexample table.

FIG. 9 is a representation of a touch screen option selection.

DESCRIPTION O REFERRED EMBODIMENT

The following description of the present invention relates to selectionof a contact from an address book of a mobile telephone. The inventionis however not limited to this application and may be implemented on anydevice with computational processing ability on any list which isindexed by a text based value. The conventional way of selecting acontact from an address book on a mobile telephone entails the userfollowing the sequence:

-   -   1. The user starts the address book application and is presented        with a the full list of all contacts in the address book, (FIG.        3)    -   2. Using the multi-tap feature on the device to enter characters        with multiple presses of keypad keys, the user enters the first        letter of the name they want to find,    -   3. This results in the list of names presented changing from the        entire address book to only those names starting with the        specified letter,    -   4. The user can now decided to use the joystick to move the        selection to the desired contact and select it (FIG. 4), if        however the list is still too long the user goes back to step 2        above to enter the next character and proceeds until the list is        short enough to find the contact,    -   5. Once the contact is selected, their information is presented        and the user is given the option of calling them, emailing them,        etc.

In an embodiment of the current invention the above process can bestreamlined greatly by presenting the user with the following sequence:

-   -   1. The user starts the address book application which is        implemented based on the present invention, the user is        presented with 4 strings in a circular menu indicating the        strings are selected by movements of the joystick in the        directions left, right, up and down (FIG. 5), these initial four        options are the four most likely word sections in the database        at the start of a contact name based on an analysis of the        frequency of words in the address book;    -   2. If the user sees the word section that starts, or is a        Continuation the contact they want to select they move the        joystick in the indicated direction to select that word section,        appending it to the name thus far specified. The next set of        most likely word sections which continue the name thus far        specified are then presented (FIG. 6), if the selection is not        complete the user repeats this step 2;    -   3. If the word section the user desires is not presented, they        activate the “more” function, in this case a press in of the        joystick to be presented with the next most likely set of four        options to continue the name thus far specified the user then        repeats step 2;    -   4. Once the user has completed the name the user is then        presented with their information and the user is given the        option of calling them, emailing them, etc.

Using an address book application implemented with the present inventionas described above has the following advantages over the traditionalsystem as described previously:

-   -   There are significantly less key presses or movements of the        joystick as the mostly letters are presented first and it is        likely that it will be possible to specify several letters of        the name at a time,    -   Only the joystick has been used so there is no need to transfer        the thumb or finger between buttons and risk mis-hitting        buttons,    -   The labels selected from are presented on the screen rather than        being printed on the buttons meaning the user is able to        maintain their gaze on the screen the entire time rather than        constantly flick between the screen and the keypad,    -   Another advantage of on-screen labels is that it is possible to        increase the size of the labels to make them more readable for        those with vision impairment, an option not possible for labels        on small keypad keys.

It should be obvious to someone skilled in the art that the presentinvention has much broader application than just the example listedabove, as well as a mobile phone, the present invention can be used toimprove list selection on other devices including but not limited topersonal computers, tablet PCs, PDAs, remote controls and small watchsized devices.

Also, as well as the above sample application the present invention canbe used to select an item from any list which is indexed by a text basedvalue; The list could be of any size from a handful of entries to alarge database of thousands or even millions of entries. The list doesnot just have to be contacts in an address book, applications couldinclude but are not limited to selection from any text indexed database,for a list of products in an inventory, selection of word definitionsfrom a dictionary, selection of answers from an FAQ (Frequently AskedQuestion) document, etc.

Implementation

Preferably the present invention would be implemented as software withinan application which maintains or allows viewing of some list ofinformation. The list would be accessible through an index field whichis text based. The text may be based on any language or symbolic systemas long as it can be represented on the screen for selection.

Table of Values

FIG. 7 shows an example table of words which may be the text stringindices from which a selection is to be made.

Hierarchical Tree

In order to facilitate selection from the list of text indices using thepresent invention, the list needs to be processed as a hierarchical treeof word sections. In one variation of the implementation of the presentinvention in software there may be a pre-processing phase where the listof indices is analysed and the hierarchical tree is generated and storedin some computer accessible memory to assist processing.

The hierarchical tree of word sections is an internal representation ofthe structure of the words in the list. Where words share the samestarting letter or letters those words are added under the same nod;where words diverge a branch in the hierarchical tree is formed. Thisprocess continues to form further entries and branches down the tree tocorrespond with the subsequent letters in the words.

As an example, the logical hierarchical tree structure for the list inFIG. 7 is illustrated in FIG. 8. As can be seen, where words have commonletters in sequence they share a node in the tree structure, where thecharacters diverge (for example after the first “n” for “Andrew Jones”and “Anne Parkes”) a branch in the tree is formed.

Node Rankings

Associated with each end node is a ranking value. In the most basic ofsystems this value would be one for each end node but in other systemsit could be any number representing a ranking, for instance for a phonebook application the number could be the number of times that contactwas accessed giving more frequently used contacts higher priority.

For the branch nodes in the tree their ranking value is the sum of allthe ranking values of the nodes immediately below them in the tree.

Presenting Options

In an implementation of the present invention, the system presents wordsection options. The number of options presented depends on the mode bywhich the options are being selected. On a touch screen the options maybe in a 3 by 2 grid to be selected by a stylus (FIG. 9)—in this case thesystem would be generating up to 5 word sections at a time leaving thesixth menu option to indicate “more” where none of the presented 5options is applicable.

In the case of a menu driven by a joystick such as that which iscommonly found on a mobile phone the system could present up to 4 wordsection options indicated by presses of the joystick in the fourdirections (left, right, up and down) and having a press in of thejoystick to indicate “more”.

Each word section option presented corresponds to a node in the notionalhierarchical tree. In order to determine which nodes to present thesystem will use the following logic:

-   -   1. Exclude nodes which have already been presented (i.e. they        have been presented to the user and the user has selected “more”        to indicate none of those presented are appropriate)    -   2. Select the nodes with the highest ranking values    -   3. When assessing the ranking value subtract the ranking value        of any nodes below this node in the tree that have been        selected. For example, in FIG. 8 ranking value for the node with        the string “J” is 5 but if the node for “ohn_” is included in        the selection the ranking for “J” should be treated as 2, the        sum of the rankings of the unselected nodes.    -   4. Point 3 above means some iterations may be performed to        select the optimum node set    -   5. Select up to the number of menu choices that are presentable.

Thus for our example tree in FIG. 8. if four word section are to beselected for a joystick based interface, the first four options wouldbe:

WORD SECTION RANKING VALUE “An” 2 “John_” 3 “J” 2 (ranking of “J” minusranking of “ohn_” which is presented separately) “Peter Smith” 1

FIG. 5 shows how this selection set may be represented on a joystickbased interface.

If the user was to select the “John” option then the options to bepresented would be:

WORD SECTION RANKING “Smith” 1 “Sykes” 1 “Jones” 1

FIG. 6 shows how this selection set may be represented on a joystickbased interface.

If the user was to select the “An” option from the original Menu thenthe options to be presented would be:

WORD SECTION RANKING VALUE “drew_Jones” 1 “ne_Parkes” 1

Once the user selects a word section that takes them to the end of theindex then the item has been uniquely specified and the system can thenperform the processing applicable to the application. In the example ofa phone book system the user may be presented with options to initiate aphone call or send a text message to the contact.

As can be seen from the above example, even using just a joystick it ispossible to very rapidly narrow a text based search to a single entrywith very few joystick actions using the present invention. While theexample presented is based on a trivial number of entries, the presentinvention provides a significant increase in efficiency of selectionsfrom lists with many more items as well.

It will be appreciated by persons skilled in the art that numerousvariations and/or modifications maybe made to the invention as shown inthe specific embodiments without departing from the spirit or scope ofthe invention as broadly described. The present embodiments are,therefore, to be considered' in all respects as illustrative and notrestrictive.

1. A method of selecting database items from a database, the databaseitems being indexed by a list of item identifiers, the method comprisingthe steps of: generating an initial display including one or more partsof item identifiers for selection, enabling selection of the one or moreparts and in response to selection of the one or more parts, generatinga display of a further one or more parts for selection, and enablingselection of the further one or more parts in order to add to theselected one or more parts to build a larger part or whole of an itemidentifier.
 2. A method in accordance with claim 1, comprising thefurther step of iterating the selection steps until an item identifieris completed, and enabling selection of the item identifier to selectthe database item.
 3. A method in accordance with claim 1, wherein thestep of generating the initial display includes selecting the one ormore parts to be displayed based on predetermined criteria.
 4. A methodin accordance with claim 3, wherein the predetermined criteria is thefrequency of selection of database items associated within the itemidentifier parts.
 5. A method in accordance with claim 3, wherein thepredetermined criteria is a ranking of the one or more parts in relationto a tree hierarchy classification of one or more parts of itemidentifiers.
 6. A method in accordance with claim 1, wherein the step ofenabling display of one or more parts of item identifiers includes thestep of displaying a plurality of parts of item identifiers.
 7. A methodin accordance with claim 1, wherein the step of generating the displayincludes the step of generating a display of an entire item identifier.8. A method in accordance with claim 1, wherein the item identifierincludes one or more alphanumerics.
 9. A method in accordance with claim8, wherein the item identifier is a text string.
 10. A method inaccordance with claim 9, wherein the item identifier is a word.
 11. Amethod in accordance with claim 1, wherein the v database is stored in amemory of a computing device.
 12. A method in accordance with claim 11,wherein the computing device is a mobile telephone.
 13. A method inaccordance with claim 11, wherein the computing device is a PDA.
 14. Amethod in accordance with claim 12, wherein the step of enablingselection allows selection of the one or more parts by way of ajoystick.
 15. A method of selecting database items from a database, thedatabase items being indexed by a list of item identifiers, comprisingthe steps of enabling a display of one or more parts of item identifiersfor selection, the item identifiers being generated on a display beingchosen for generation in accordance with predetermined criteria.
 16. Amethod in accordance with claim 15, wherein a predetermined criteria isfrequency of selection of the database item associated with the itemidentifier.
 17. An apparatus for selecting database items from adatabase, the database items being indexed by a list of itemidentifiers, the apparatus comprising a display, an input means, agenerating means for generating an initial display including one or moreparts of item identifiers for selection, means for enabling selectionvia the input means of the one or more parts, means responsive toselection of the one or more parts for generating a display of a furtherone or more parts for selection, means enabling selection via the inputmeans of the further one or more parts, and addition means to add thefurther one or more parts to the selected one or more parts to build alarger, or whole of an item identifier. 18-31. (canceled)
 32. Anapparatus for selecting database items from a database, the databaseitems being indexed by a list of item identifiers, comprising a meansenabling a display of one or more parts of item identifiers forselection, the means selecting the item identifiers for display inaccordance with predetermined criteria. 33-35. (canceled)